using System;
using System.Threading.Tasks;

namespace B.S.Meeting.Infrastructure.Interfaces
{
    public interface IVerificationCodeService
    {
        /// <summary>
        /// 生成验证码
        /// </summary>
        /// <param name="phone">手机号</param>
        /// <returns>验证码</returns>
        Task<string> GenerateCodeAsync(string phone);

        /// <summary>
        /// 验证验证码
        /// </summary>
        /// <param name="phone">手机号</param>
        /// <param name="code">验证码</param>
        /// <returns>是否验证成功</returns>
        Task<bool> ValidateCodeAsync(string phone, string code);

        /// <summary>
        /// 移除验证码
        /// </summary>
        /// <param name="phone">手机号</param>
        Task RemoveCodeAsync(string phone);
    }
} 